function Request(query, complete)
{
	this.query    = query;
	this.complete = complete;
}

Request.prototype.execute = function ()
{
	var complete = this.complete;
	
	$.ajax({
		'url':      '/' + this.query,
		'dataType': 'json',
		'async':    false,
		'error':    function (event, request, settings)
		{
			var error = 'Unknown error';
			
			if (event.status === 0) {
				error = 'DASE server not running';
			} else if (event.status === 404) {
				error = 'Page does not exist';
			}
			
			Log.push('!! ' + error + '!');
		},
		'success':  function (data)
		{
			if (data.status != 0) {
				Log.push(
					  'Error : status: '   + data.status + '; '
					+ 'contents: ' + data.contents
					+ '');
				return false;
			}
			
			complete(data.contents);
			
			jQuery(document).trigger('close.facebox');
		}});
}

// function executeRequest()
// {
// 	var requests = $.trim($('#request').val()), request = '';
// 	
// 	$('#request').val(requests);
// 	
// 	// On construit la requête à partir de action et de ses copains
// 	
// 	request = action;
// 	
// 	switch (action) {
// 		case 'custom':
// 			request = requests.split("\n", 1)[0];
// 			
// 			if (request === '') {
// 				(new Action('list')).execute();
// 				
// 				return false;
// 			}
// 			
// 			$('#request').val(requests.substr(request.length + 1));
// 			
// 			// Si la requête commence par un '/', on le retire car on le
// 			// rajoute plus bas
// 			if (request[0] == '/') {
// 				request = request.substr(1);
// 			}
// 			
// 			break;
// 	}
// }
